<script>
	export default {
		onLaunch: function() {
			console.log('App Launch')
			
			// 判定设备类型 android macos ios
			console.log("系统信息：",uni.getSystemInfoSync())
			uni.showModal({
			    title: '设备类型',
			    content: uni.getSystemInfoSync().platform+":"+uni.getSystemInfoSync().uniPlatform,
			    showCancel: false,
			    confirmText: 'OK'
			});
			
			if(uni.getSystemInfoSync().platform == 'android' && uni.getSystemInfoSync().uniPlatform == 'app'){
			
				var jpushModule = uni.requireNativePlugin("JG-JPush");
				jpushModule.initJPushService();
				console.log('初始化消息推送插件JPush成功！',jpushModule);
				
				
				// 获取 registration id
				jpushModule.getRegistrationID(result => {
					console.log("设备注册信息:", result)
					uni.showModal({
						title: 'Registration ID',
						content: result.registerID,
						showCancel: false,
						confirmText: 'OK'
					});
				})
				
				// 设置别名
				jpushModule.setIsAllowedInMessagePop(true)
				jpushModule.setAlias({
				    'alias' : 'zjstudio',
				    'sequence': 1
				})
				
				// getNotificationEnabled(jpushModule);
				console.log('获取APP通知权限=====================================');
				if (uni.getSystemInfoSync().platform == 'ios') {
					jpushModule.requestNotificationAuthorization((result) => {
						let status = result.status;
						if (status < 2) {
							this.noticMsgTool();
						}
					});
				} else {
					jpushModule.isNotificationEnabled((result) => {
						console.log('判断android是否打开权限1:true,0:false', JSON.stringify(result));
						if (result.code == 0) {
							//如果为0则表示未打开通知权限
							this.noticMsgTool();
						}
					});
				}
				
				// this.listenJPushNotification(jpushModule);
				console.log('监听JPush消息推送事件==============================');
				//监听极光推送连接状态
				jpushModule.addConnectEventListener((result) => {
					console.log('监听极光推送连接状态', result);
					let connectEnable = result.connectEnable;
					uni.$emit('connectStatusChange', connectEnable);
				});
				//极光推送的消息通知回调
				jpushModule.addNotificationListener((result) => {
					jpushModule.setBadge(0);
					plus.runtime.setBadgeNumber(0);
					let notificationEventType = result.notificationEventType;
					console.log('通知', result, notificationEventType);
					
					uni.showModal({
						title: result.title,
						content: result.content,
						showCancel: false,
						confirmText: 'OK'
					});
					
					//点击事件
					if (notificationEventType == 'notificationOpened') {
						uni.navigateTo({
							url: '/pages/find/index'
						});
					}
				});
				
				// // this.pushNotification(jpushModule);
				// console.log('消息发送处理完成===============================')
				// if (typeof jpushModule.sendNotificationMessage === 'function') {
				// 	jpushModule.sendNotificationMessage({
				// 	  title: '通知标题',
				// 	  content: '通知内容',
				// 	  extras: {
				// 		// 自定义附加数据
				// 		key1: 'value1'
				// 	  }
				// 	});
				//   } else {
				// 	console.error('sendNotificationMessage 方法不存在');
				//   }
				// //发送通知消息
				// jpushModule.sendNotificationMessage('通知消息测试', {
				//     title: '待办事项提醒',
				//     content: '解决安卓出现的403问题，以及app连接蓝牙崩溃问题；',
				//     extras: {
				//         key1: 'value1',
				//         key2: 'value2'
				//     }
				// });
			}
			
		},
		onShow: function() {
			console.log('App Show')
		},
		
		onHide: function() {
			console.log('App Hide')
		},
		// 测试JPush消息发送
		// pushNotification(jpushModule){
			// //发送自定义消息
			// jpushModule.sendCustomMessage('项目消息提醒');
			// //发送通知消息
			// jpushModule.sendNotificationMessage('通知消息测试', {
			//     title: '待办事项提醒',
			//     content: '解决安卓出现的403问题，以及app连接蓝牙崩溃问题；',
			//     extras: {
			//         key1: 'value1',
			//         key2: 'value2'
			//     }
			// });
		// },
		// 监听JPush推送
		// listenJPushNotification(jpushModule){
			// //监听极光推送连接状态
			// jpushModule.addConnectEventListener((result) => {
			//     console.log('监听极光推送连接状态', result);
			//     let connectEnable = result.connectEnable;
			//     uni.$emit('connectStatusChange', connectEnable);
			// });
			// //极光推送的消息通知回调
			// jpushModule.addNotificationListener((result) => {
			//     jpushModule.setBadge(0);
			//     plus.runtime.setBadgeNumber(0);
			//     let notificationEventType = result.notificationEventType;
			//     console.log('通知', result, notificationEventType);
			//     //点击事件
			//     if (notificationEventType == 'notificationOpened') {
			//         uni.navigateTo({
			//             url: 'pages/find/index'
			//         });
			//     }
			// });
		// },
		// // 获取通知权限
		// getNotificationEnabled(jpushModule) {
		//     if (uni.getSystemInfoSync().platform == 'ios') {
		//         jpushModule.requestNotificationAuthorization((result) => {
		//             let status = result.status;
		//             if (status < 2) {
		//                 this.noticMsgTool();
		//             }
		//         });
		//     } else {
		//         jpushModule.isNotificationEnabled((result) => {
		//             console.log('判断android是否打开权限1:true,0:false', result);
		//             if (result.code == 0) {
		//                 //如果为0则表示未打开通知权限
		//                 this.noticMsgTool();
		//             }
		//         });
		//     }
		// },
		noticMsgTool() {
		    if (uni.getSystemInfoSync().platform == 'ios') {
		        //苹果打开对应的通知栏
		        uni.showModal({
		            title: '通知权限开启提醒',
		            content: '您还没有开启通知权限，无法接受到消息通知，请前往设置！',
		            showCancel: false,
		            confirmText: '去设置',
		            success: function(res) {
		                if (res.confirm) {
		                    var app = plus.ios.invoke('UIApplication', 'sharedApplication');
		                    var settings = plus.ios.invoke(app, 'openURL', 'app-settings:');
		                }
		            }
		        });
		    } else {
		        var main = plus.android.runtimeMainActivity();
		        var Intent = plus.android.importClass('android.content.Intent');
		        var Settings = plus.android.importClass('android.provider.Settings');
		        var intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
		        var uri = plus.android.net.Uri.fromParts('package', plus.runtime.appid, null);
		        intent.setData(uri);
		        main.startActivity(intent);
		    }
		}
	}
</script>

<style lang="scss">
	/*每个页面公共css */
  @import "uview-ui/index.scss";
  @import "style/main.scss";
  @import "components/common/timeline/timeLine.scss";
  @import "style/style-view-form.scss";
</style>
